package com.zp.drug.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zp.common.myBatis.core.mapper.BaseMapperPlus;
import com.zp.drug.entity.DrugStock;
import com.zp.drug.entity.bo.DrugStockBo;
import com.zp.drug.entity.vo.AutoPrescriptionVo;
import com.zp.drug.entity.vo.DrugStockVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 药品库存Mapper接口
 *
 * @author zhang peng
 * @ date 2023-06-08
 */
@Repository
public interface DrugStockMapper extends BaseMapperPlus<DrugStockMapper, DrugStock, DrugStockVo> {

    /**
     * @return 返回count条数
     * @Author zhangpeng
     * @Description //通过 drug_info_id 和org_id 获取是否存在库存记录
     * @ date 21:49 2023/6/8
     * @Param * @param null
     **/
    int getDrugInfoCount(DrugStockBo bo);

    /**
     * @return
     * @Author zhangpeng
     * @Description // 药品库存列表查询（分页）
     * @ date 20:41 2023/6/17
     **/
    Page<DrugStockVo> getStockQuantity(@Param("page") Page<DrugStockBo> page, @Param("bo") DrugStockBo bo);


    /**
     * 获取库存总进价、总售价、总进销差
     *
     * @param bo
     * @return
     */
    DrugStockVo getStockQuantitySum(@Param("bo") DrugStockBo bo);

    /**
     * 处方自动补全
     *
     * @param vo
     * @return
     */
    List<AutoPrescriptionVo> autoPrescriptionList(AutoPrescriptionVo vo);

    /**
     * 出库检索自动补全
     *
     * @param vo
     * @return
     */
    List<AutoPrescriptionVo> autoExportList(AutoPrescriptionVo vo);

}
